lets_plot.geom_crossbar

lets_plot.geom_crossbar(mapping=None, *, data=None, stat=None, position=None, show_legend=None, sampling=None, tooltips=None, fatten=None, **other_args)

Display bars with horizontal median line.

Parameters
  • mapping (FeatureSpec) – Set of aesthetic mappings created by aes() function. Aesthetic mappings describe the way that variables in the data are mapped to plot “aesthetics”.

  • data (dict or DataFrame) – The data to be displayed in this layer. If None, the default, the data is inherited from the plot data as specified in the call to ggplot.

  • stat (str, default=’identity’) – The statistical transformation to use on the data for this layer, as a string. Supported transformations: ‘identity’ (leaves the data unchanged), ‘count’ (counts number of points with same x-axis coordinate), ‘bin’ (counts number of points with x-axis coordinate in the same bin), ‘smooth’ (performs smoothing - linear default), ‘density’ (computes and draws kernel density estimate).

  • position (str or FeatureSpec) – Position adjustment, either as a string (‘identity’, ‘stack’, ‘dodge’, …), or the result of a call to a position adjustment function.

  • show_legend (bool, default=True) – False - do not show legend for this layer.

  • sampling (FeatureSpec) – Result of the call to the sampling_xxx() function. Value None (or ‘none’) will disable sampling for this layer.

  • tooltips (layer_tooltips) – Result of the call to the layer_tooltips() function. Specifies appearance, style and content.

  • fatten (float, default=2.5) – A multiplicative factor applied to size of the middle bar.

  • other_args – Other arguments passed on to the layer. These are often aesthetics settings used to set an aesthetic to a fixed value, like color=’red’, fill=’blue’, size=3 or shape=21. They may also be parameters to the paired geom/stat.

Returns

Geom object specification.

Return type

LayerSpec

Note

geom_crossbar() represents a vertical interval, defined by x, ymin, ymax. The mean is represented by horizontal line.

geom_crossbar() understands the following aesthetics mappings:
  • x : x-axis coordinates.

  • ymin : lower bound for error bar.

  • middle : position of median bar.

  • ymax : upper bound for error bar.

  • alpha : transparency level of a layer. Understands numbers between 0 and 1.

  • color (colour) : color of a geometry lines. Can be continuous or discrete. For continuous value this will be a color gradient between two colors.

  • fill : color of geometry filling.

  • size : lines width.

  • width : width of a bar.

  • linetype : type of the line. Codes and names: 0 = ‘blank’, 1 = ‘solid’, 2 = ‘dashed’, 3 = ‘dotted’, 4 = ‘dotdash’, 5 = ‘longdash’, 6 = ‘twodash’.

Examples

>>> from lets_plot import *
>>> LetsPlot.setup_html()
>>> data = {
>>>     'x': ['a', 'b', 'c', 'd'],
>>>     'ymin': [5, 7, 3, 5],
>>>     'middle': [6.5, 9, 4.5, 7],
>>>     'ymax': [8, 11, 6, 9],
>>> }
>>> ggplot(data, aes(x='x')) + \
>>>     geom_crossbar(aes(ymin='ymin', middle='middle', ymax='ymax'))

>>> import numpy as np
>>> import pandas as pd
>>> from lets_plot import *
>>> LetsPlot.setup_html()
>>> n = 800
>>> cat_list = {c: np.random.uniform(3) for c in 'abcdefgh'}
>>> np.random.seed(42)
>>> x = np.random.choice(list(cat_list.keys()), n)
>>> y = np.array([cat_list[c] for c in x]) + np.random.normal(size=n)
>>> df = pd.DataFrame({'x': x, 'y': y})
>>> err_df = df.groupby('x').agg({'y': ['min', 'median', 'max']}).reset_index()
>>> err_df.columns = ['x', 'ymin', 'ymedian', 'ymax']
>>> ggplot() + \
>>>     geom_crossbar(aes(x='x', ymin='ymin', middle='ymedian', ymax='ymax', fill='x'), \
>>>                   data=err_df, width=.6, fatten=5) + \
>>>     geom_jitter(aes(x='x', y='y'), data=df, width=.3, shape=1, color='black', alpha=.5)